The delivery and presentation of content over the Internet from web servers to client applications has undergone a number of transformations since the World Wide Web (WWW) was first conceived in the last 1980s. In particular, the presentation of content has evolved from the use of relatively static presentation technologies using simple HyperText Markup Language (HTML) to a more dynamic and interactive presentation technologies. For example, the scripting language JavaScript (JavaScript is a trademark of Oracle Corporation) was developed in 1995 for use within webpages so as to provide enhanced client-side functionality within the context of a web browser, and also to enable dynamic updates to webpages. Such scripting languages, delivered with a webpage, can make HTTP requests to a server, and the responses from the server may be used to modify a current webpage, rather than creating a new page with each response. Accordingly, a web server needs only provide limited, incremental information for updates. Asynchronous JavaScript and eXtensible Markup Language (AJAX) is a group of interrelated web development technologies that deploy JavaScript.
Scripting languages are widely used to write functions that are included within HTML pages, and that interact with the Document Object Model (DOM) of the HTML page. Scripting language code may run locally within the context of a web browser, and can detect user actions, responsive to which certain activities and display changes can be rendered within the context of the web browser.
Looking more specifically at the Document Object Model (DOM), this is a cross platform language independent convention for representing and interacting with objects in web documents (e.g., HTML or XML documents). DOM has evolved into a World Wide Web Consortium (W3C) standard for accessing documents like HTML and XML. Specifically, the DOM may provide a platform and language-neutral interface that will ask programs and scripts to dynamically access and update the content, structure and style of a document. The HTML DOM provides a standard object model for HTML, as well as a standard programming interface for HTML. The HTML DOM defines objects and properties of HTML elements, and methods (e.g., interfaces) for accessing these elements. The DOM regards every element within an HTML document as being a node, and the HTML document has a tree-structure, called a node-tree. Nodes can be accessed through the node-tree, and contents of the node modified and deleted. New elements may also be created.
Notwithstanding the development of the above-described technologies, a number of technical challenges remain with respect to the efficient generating and updating of web content (e.g., HTML documents) by a web service. As the complexity and nature of content that is exposed via web services have changed, the limitations of existing solutions have become more pronounced.